#include "LED_Marquee.h"

// 初始化
void ledInit()
{
    // 时钟信号
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
    // 初始化GPIO
    GPIO_InitTypeDef init_def;
    // 推挽输出
    init_def.GPIO_Mode = GPIO_Mode_Out_PP;
    //速率
    init_def.GPIO_Speed = GPIO_Speed_50MHz;
    // 引脚
    init_def.GPIO_Pin =  GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | 
                         GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7;
    // 初始化
    GPIO_Init(GPIOA, &init_def);

    // 关闭所有的GPIO口
    GPIO_SetBits(GPIOA, GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | 
                         GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7);
}

// 跑马灯
void ledWriteData(u8 data)
{
    u8 i;
	for(i=0;i<8;i++)
    {
		if(data&0x01)
        {
			GPIO_WriteBit(GPIOA, GPIO_Pin_0<<i, Bit_SET); 
		}else
        {
			GPIO_WriteBit(GPIOA, GPIO_Pin_0<<i, Bit_RESET);
		}	
		data >>= 1;
    }
}
